Method and apparatus for providing an indoor pedestrian origin-destination matrix and flow analytics

ABSTRACT

An approach is provided for creating an origin-destination matrix from probe trajectory data. The approach includes determining, via an outdoor positioning system, that at least one probe device has entered a point-of-interest (POI). The approach also includes initiating an indoor positioning system to determine indoor location data associated for the at least one probe device while the at least one device is within the POI. The approach further includes processing the indoor location data to generate an origin-destination (OD) matrix. The OD matrix represents an indoor movement of the at least one probe device among a plurality of sub-POIs located within the POI indicated by the indoor location data. The approach further includes providing the OD matrix as an output.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of application Ser. No.16/574,889 filed Sep. 18, 2019.

BACKGROUND

Location service providers often rely on probe data (e.g., GPS locationdata collected from probe devices or vehicles as they travel) tounderstand traffic flows, movements, etc. However, such probe data havehistorically been confined to separate domains for outdoor versus indoorprobe data. This is because location data for outdoor probe applicationtypically rely on location technologies such as Global PositioningSystem (GPS) or other similar satellite-based locations technologieswhich often do not work well in indoor situations. As a result, serviceproviders face significant technical challenges to providing indoorpedestrian flow analytics that relate outdoor movements to indoormovements.

Some Example Embodiments

Therefore, there is a need for an approach for providing anorigin-destination matrix using indoor probe location data, therebyrecording pedestrian movement flows or probe trajectories from outdoorto indoor environments.

According to one embodiment, a method comprises determining, via anoutdoor positioning system, that at least one probe device has entered apoint-of-interest (POI). The method also comprises initiating an indoorpositioning system to determine indoor location data associated for theat least one probe device while the at least one device is within thePOI. The method further comprises processing the indoor location data togenerate an origin-destination (OD) matrix, wherein the OD matrixrepresents an indoor movement of the at least one probe device among aplurality of sub-POIs located within the POI indicated by the indoorlocation data. The method further comprises providing the OD matrix asan output.

According to another embodiment, an apparatus comprises at least oneprocessor, and at least one memory including computer program code forone or more computer programs, the at least one memory and the computerprogram code configured to, with the at least one processor, cause, atleast in part, the apparatus to determine, via an outdoor positioningsystem, that at least one probe device has entered a point-of-interest(POI). The apparatus is also caused to initiate an indoor positioningsystem to determine indoor location data associated for the at least oneprobe device while the at least one device is within the POI. Theapparatus is further caused to process the indoor location data togenerate an origin-destination (OD) matrix, wherein the OD matrixrepresents an indoor movement of the at least one probe device among aplurality of sub-POIs located within the POI indicated by the indoorlocation data. The apparatus is further caused to provide the OD matrixas an output.

According to another embodiment, a computer-readable storage mediumcarries one or more sequences of one or more instructions which, whenexecuted by one or more processors, cause, at least in part, anapparatus to determine, via an outdoor positioning system, that at leastone probe device has entered a point-of-interest (POI). The apparatus isalso caused to initiate an indoor positioning system to determine indoorlocation data associated for the at least one probe device while the atleast one device is within the POI. The apparatus is further caused toprocess the indoor location data to generate an origin-destination (OD)matrix, wherein the OD matrix represents an indoor movement of the atleast one probe device among a plurality of sub-POIs located within thePOI indicated by the indoor location data. The apparatus is furthercaused to provide the OD matrix as an output.

According to another embodiment, an apparatus comprises means fordetermining, via an outdoor positioning system, that at least one probedevice has entered a point-of-interest (POI). The apparatus alsocomprises means for initiating an indoor positioning system to determineindoor location data associated for the at least one probe device whilethe at least one device is within the POI. The apparatus furthercomprises means for processing the indoor location data to generate anorigin-destination (OD) matrix, wherein the OD matrix represents anindoor movement of the at least one probe device among a plurality ofsub-POIs located within the POI indicated by the indoor location data.The apparatus further comprises means for providing the OD matrix as anoutput.

In addition, for various example embodiments of the invention, thefollowing is applicable: a method comprising facilitating a processingof and/or processing (1) data and/or (2) information and/or (3) at leastone signal, the (1) data and/or (2) information and/or (3) at least onesignal based, at least in part, on (including derived at least in partfrom) any one or any combination of methods (or processes) disclosed inthis application as relevant to any embodiment of the invention. In oneembodiment, the apparatus is further caused to present the justificationmessage based on receiving user request following a presentation of therecommended maneuver and/or route.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating access to at least oneinterface configured to allow access to at least one service, the atleast one service configured to perform any one or any combination ofnetwork or service provider methods (or processes) disclosed in thisapplication.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating creating and/orfacilitating modifying (1) at least one device user interface elementand/or (2) at least one device user interface functionality, the (1) atleast one device user interface element and/or (2) at least one deviceuser interface functionality based, at least in part, on data and/orinformation resulting from one or any combination of methods orprocesses disclosed in this application as relevant to any embodiment ofthe invention, and/or at least one signal resulting from one or anycombination of methods (or processes) disclosed in this application asrelevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising creating and/or modifying (1) at leastone device user interface element and/or (2) at least one device userinterface functionality, the (1) at least one device user interfaceelement and/or (2) at least one device user interface functionalitybased at least in part on data and/or information resulting from one orany combination of methods (or processes) disclosed in this applicationas relevant to any embodiment of the invention, and/or at least onesignal resulting from one or any combination of methods (or processes)disclosed in this application as relevant to any embodiment of theinvention.

In various example embodiments, the methods (or processes) can beaccomplished on the service provider side or on the mobile device sideor in any shared way between service provider and mobile device withactions being performed on both sides.

Still other aspects, features, and advantages of the invention arereadily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the invention. Theinvention is also capable of other and different embodiments, and itsseveral details can be modified in various obvious respects, all withoutdeparting from the spirit and scope of the invention. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example, andnot by way of limitation, in the figures of the accompanying drawings:

FIG. 1 is a diagram of a system capable of providing anorigin-destination (OD) matrix using indoor probe location data,according to one embodiment;

FIG. 2 is a diagram of the components of an OD-matrix platform,according to one embodiment;

FIG. 3 is a flowchart of a process for providing an origin-destinationmatrix using indoor probe location data, according to one embodiment;

FIG. 4 is a diagram of two probe trajectories, according to oneembodiment;

FIG. 5 is a diagram of a typical probe trajectory from origin todestination, according to one embodiment;

FIG. 6 shows a diagram of using WiFi RTT to determine a location of theprobe device and to capture pedestrian mobility indoor, according to oneembodiment;

FIGS. 7A-7C show how probe trajectories are used to build a OD-matrix ofa pedestrian movement flow, according to one embodiment;

FIG. 8 is a diagram of a multiple-positioning system architecture ofproviding an origin-destination matrix using indoor probe location data,according to one embodiment;

FIG. 9 is a diagram of the geographic database, according to oneembodiment;

FIG. 10 is a diagram of hardware that can be used to implement anembodiment of the invention;

FIG. 11 is a diagram of a chip set that can be used to implement anembodiment of the invention; and

FIG. 12 is a diagram of a mobile terminal (e.g., handset) that can beused to implement an embodiment of the invention.

DESCRIPTION OF SOME EMBODIMENTS

Examples of a method, apparatus, and computer program for providing anorigin-destination matrix using indoor probe location data aredisclosed. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the embodiments of the invention. It isapparent, however, to one skilled in the art that the embodiments of theinvention may be practiced without these specific details or with anequivalent arrangement. In other instances, well-known structures anddevices are shown in block diagram form in order to avoid unnecessarilyobscuring the embodiments of the invention.

FIG. 1 is a diagram of a system capable of providing anorigin-destination matrix using indoor probe location data, according toone embodiment. Service providers can collect probe data generated byvarious probe devices (e.g., user devices 101 a-101 n) that can then beprocessed or analyzed to understand mobility patterns and preferences.When the UEs 101 (e.g., smartphones equipped with respective locationsensors 107 a-107 n) are carried by pedestrians, the resulting probedata can be used as indicators of pedestrian flows or movements throughgeographic areas. By way of example, in one embodiment, probe datarefers to location points (e.g., probe points) that indicate the sensedlocations (e.g., latitude, longitude) of a particular probe device at apoint in time. Typically, a probe point will include at least a probeidentifier (ID), latitude, longitude, and timestamp indicating the timeat which the probe point was sensed by the probe device's sensor 107(e.g., a Global Positioning System (GPS) sensor or any other type oflocation sensor). In some embodiments, additional attributes can beincluded with each probe point including but not limited to a heading,altitude, and/or the like. The probe points for a unique probe ID canalso be time-sequenced (e.g., based on timestamp data) to generatecorresponding probe trajectories or paths.

As discussed above, probe devices or UEs 101 typically use GPS sensorsor equivalent satellite-based positioning systems to generate probedata. However, because these satellite-based systems (e.g., outdoorpositioning systems) rely on receiving signals from multiple satellitesto triangulate an accurate position, outdoor positioning systems oftendo not work or otherwise have greatly decreased accuracy when usedindoors. As a result, probe data has generally been provided just foroutdoor locations where location data can be accurately sensed. This, inturn, limits the ability to perform indoor pedestrian flow analyticsusing traditional probe data.

To address this problem, a system 100 of FIG. 1 introduces thecapability to provide an indoor origin-destination (OD) matrix thatincludes outdoor insight as part of the OD-modeling process. In otherwords, the system 100 can provide a pedestrian flow analytics product orservice that ties indoor probe data to outdoor probe data to enable anew granularity of pedestrian flow analytics by spanning outdoor andindoor environments. In one embodiment, while GPS probes (or probescollected using any equivalent outdoor positioning technology) are theprimary sensor 107 when tracking a UE 101 or probe device outdoors, theUE 101 can switch to an indoor an indoor positioning system (e.g., WiFiround-trip time (RTT) or equivalent indoor positioning system) when theUE 101 is indoors. The flow analytics (e.g., indoor OD generation)according to the embodiments described herein does a handshake betweenthe outdoor and indoor positioning sensors 107 equipped on individualUEs 101 such that when the UE 101 traverses from outdoor to indoor, themobility analytics or probe data for the UE 101 can still be captured.The handshake, for instance, can be any procedure that switches the taskor collecting probe data from an outdoor positioning sensor to an indoorpositioning sensor (or vice versa).

In one embodiment, the system 100 captures outdoor probe data (e.g., viaan outdoor positioning system) for the UE 101 up to the point where theUE 101 enters into a point-of-interest (e.g., a building, other indoorstructure, or any location where outdoor positioning is not availablebut indoor positioning is). On detecting that the UE 101 has entered theUE 101, the UE 101 automatically switches to an available indoorpositioning system to generate indoor probe data for flow analytics. Inone embodiment, the indoor flow analytics is represented using an ODmatrix for the POI in which the UE 101 entered. The OD matrix can beconstructed for each POI that contains multiple indoor POIs within thePOI. An indoor-POI can also be referred to as a sub-POI or a child-POIof the POI in which the UE 101 entered. For example, a pedestrian canenter a mall (e.g., the main or major POI) that contains multiplesstores, restaurants, etc. (e.g., indoor-POIs). Accordingly, the originsand destinations modeled in the matrix are the indoor-POIs within eachmajor POI, thereby enabling the system 100 to determine pedestriansflows between the indoor-POIs or even other outdoor locations. Theindoor OD matrix can be built by applying Dynamic Traffic Assignment onthe indoor probe data to determine or predict which destinationindoor-POIs a pedestrian is likely to move to from a given originindoor-POI. In other words, the embodiments described herein capture oneor more pedestrian movement flows via applying an OD matrix onpedestrian indoor location data with respect to sub-POIs within a POI.The OD matrix can be constructed with respect to a contextual parametersuch as but not limited to a temporal parameter, activity parameter,etc. For example, if a temporal parameter is applied the indoor probedata can be analyzed over a period of time, such as a hour, severalhours, lunch time, morning, afternoon, evening, a day of the week,weekend, a week, a month, a season, a year, etc. In this way, the system100 can maintain and provide a full picture view of pedestrian movementflows in the entire POI as the pedestrian moves from outside the POI.For example, as shown in FIG. 4, an outdoor probe trajectory 401 on theright side, which may be tracked via common outdoor positioning systems,such as GPS.

FIG. 4 is a diagram of two probe trajectories, according to oneembodiment. On the other hand, an outdoor-to-indoor probe trajectory 403on the right traversed into an indoor area (e.g., a mall 405), which canbe tracked via common outdoor positioning systems, such as WIFI-RTT(details in FIG. 6). As it is well known that GPS signal is poorindoors. The system 100 provides a handshake between the outdoorpositioning technology and the indoor positioning technology to track UE101 as the UE 101 traverses from outside the POI to inside the POI.

FIG. 5 is a diagram of a typical probe trajectory from origin todestination, according to one embodiment. A mall 500 contains an exampleprobe trajectory path 501 wherein the probe trajectory path is denotedby a path line. The mall can be modeled by sub-POIs each with a definedborder (e.g., geofence, cluster, etc.) and monitored, to capture asin-going movements into the mall 500, outgoing movements from the mall500, internal movements within the mall 500, etc. The system 100map-matches the indoor location data to indoor map data to determine theindoor movement of the at least one device. By way of example, thesystem 100 then matches the pedestrian indoor location data, such as theprobe trajectory 501 traversing from outdoor to indoor, with a mallfloor plan to identify the corresponding sub-POIs that pedestrian passedvia and/or stopped at in the mall 500.

In addition to pedestrian indoor location data, the system 100 cangenerated the OD matrix with respect to at least one contextualparameter, such as a temporal parameter. For example, the system 100 canalso track time spent at each stop made by the pedestrian. In oneembodiment, the system 100 generates an index of the plurality ofsub-POIs based on the OD matrix. The index is based on a time spent ateach sub-POI of the plurality of sub-POIs as indicated by the OD matrix.The system 100 can generate reality index for sub-POIs based on timespent at the sub-POIs by the number of pedestrians. This will enablelocation-based product/service provision as well location-basedadvertisement. By way of example, the system 100 determines that singleparents accompany their children in a small playground inside a mallcourtyard for over 30 minutes, and recommends setting up an ice-creambooth and a candy shop next to the playground.

In one embodiment, the system 100 determining one or more clusters, oneor more trajectories, or a combination thereof of the at least one probedevice based on the indoor location data. The OD matrix is generatedbased on the one or more clusters, the one or more trajectories, or acombination thereof.

In one embodiment, the system 100 processes the OD matrix to rank theplurality of sub-POIs based on popularity.

In other embodiments, based on the indoor location data, the indoormovement flows, or a combination thereof, of one or more pedestrians,the system 100 can apply OD-matrices and cluster the sub-POIs perdifferent demographics, such as race, ethnicity, gender, age, education,profession, occupation, income level, marital status, etc., to provideuseful mobility information such as average volume (count) andorigin-destination at various time of the week of the mall, specificstores in the mall, specific facilities in the mall, etc. In oneembodiment, the system 100 provides the mobility information to mallowners, mall operators, mall facility operators, store owners, storefacility operators, marketing agencies, location-based service providers(e.g., location based targeted advertisements), or any interested thirdparties. In another embodiment, the system 100 provides the indoorlocation data, the indoor movement flows, or a combination thereof inconjunction with the demographics, instead of the mobility information.The mobility information can be anonymous, or include pedestrianidentification data under pedestrian consent.

In one embodiment, the mobility information is provided to mallretailers and any other customers/users to understand mall customerpreferences and mobility, such as via customer segmentation. By way ofexample, the mall retailers and customers/users can know whichretail-stores a pedestrian from some certain region of the city (or zipcode) will most likely visit when the pedestrian steps in the mall. Suchin-door mobility analytics take location based services (e.g.,location-based advertisements) to a new level of granularity.

As shown in FIG. 1, the system 100 comprises a user equipment (UE) 101a-101 n (hereinafter, UE 101) having connectivity to an OD-matrixplatform 109 via a communication network 105. FIG. 2 is a diagram of thecomponents of an OD-matrix platform, according to one embodiment. By wayof example, the OD-matrix platform 109 includes one or more componentsfor providing an origin-destination matrix using indoor probe locationdata. It is contemplated that the functions of these components may becombined in one or more components or performed by other components ofequivalent functionality. In this embodiment, the OD-matrix platform 109includes a control logic (or processor) 201, a communication interface203, a probe trajectory module 205, a OD-matrix module 207, and an useraction module 209.

The control logic 201 executes at least one algorithm, software,application, and the like for executing functions of the OD-matrixplatform 109. The control logic 201 may also utilize the communicationinterface 203 to communicate with other components of the OD-matrixplatform 109, the UEs 101, a services platform 113, a content provider117, and other components of the system 100. For example, thecommunication interface 203 may transmit a notification to a user'sdevice to indicate whether the user request has been registered with oneor more service providers. The communication interface 203 may furtherinclude multiple means of communication. In one use case, thecommunication interface 203 may be able to communicate over near fieldcommunication, SMS, internet protocol, instant messaging, voice sessions(e.g., via a phone network), or other types of communication.

The probe trajectory module 205 receives probe trajectory data from thevarious sensors 107 and the UEs 101 and associates this probe trajectorydata with at least one subset of a plurality of sub-POIs. For example,the probe trajectory module 205 may receive probability data for asub-POI with respect to the probability of the paths most often taken bypedestrians traveling to/from/through the sub-POI. Further, the probetrajectory data may repeat the above process of calculating probabilitydata at a sub-POI for each sub-POI within a predetermined distance or adesignated area, such as a food court, a walkway, a wing of the mall,etc. containing the sub-POI. In another embodiment, the probe trajectorymodule 205 may calculate the probability of travel for a series ofsub-POIs. For example, the probe trajectory module 205 may calculate theprobability of traffic flow for five adjacent sub-POIs.

The OD-matrix module 207 utilizes the probe trajectory data to constructOD-matrices. In one embodiment, the OD-matrix module 207 may utilize thesame probe trajectory data used by the probe trajectory module 205 tocreate OD-matrices. In another embodiment, the OD-matrix module 207 mayutilize the pedestrian movement flow calculations at a particularsub-POI or set of sub-POIs as determined by the probe trajectory module205 in order to create OD-matrices. In yet another embodiment, theOD-matrix module 207 may use a combination of the probe trajectory dataand the calculations provided by the probe trajectory module 205 tocreate the OD-matrices. The OD-matrix module 207 may associate trafficdensity with the OD-matrices it creates. In one embodiment, theOD-matrices may be associated with paths with varying lengths, whereinthe lengths of the probe trajectory paths may vary based on, forexample, mall map data.

In another embodiment, the user action module 209 may utilizeinformation of a sub-POI, additional user information and sensor datacollected at the sub-POI to calculate the probability of user actions(e.g., walking through, sitting down, making a quick stop, staying,meeting a friend, talking to a sale representative, purchasing,consuming, or returning a product/service, etc.) at the sub-POI. By wayof example, the user action module 209 uses data collected by fixedsensors in a toy store, UE 101, and/or service platform 113, todetermine that in the past month, among 100 pedestrians aged 15-20passing via an action figure section of a toy store, 50 of them checkingaction figures for over 5 minutes, 25 of them walking via without anysubsequent actions regarding the action figures, and 25 of them grabbingthen purchasing action figures. In this case, the probability for apedestrian aged 15-20 passing via the action figure section to check outaction figures is 50%, to walk via without any other actions is 25%, andto purchase action figures is 25%.

FIG. 3 is a flowchart of a process for providing an origin-destinationmatrix using indoor probe location data, according to one embodiment. Inone embodiment, the OD-matrix platform 109 performs the process 300 andis implemented in, for instance, a chip set including a processor and amemory as shown in FIG. 11.

In step 301, the OD-matrix platform 109 determines, via an outdoorpositioning system (such as GPS), that at least one probe device hasentered a point-of-interest (POI). In one embodiment, probe trajectorydata may also be collected from cellular towers triangulation. In oneembodiment, probe trajectory data may encompass camera data and surveydata. Additionally, the outdoor probe trajectory data can be any dataprocessing trajectory data, including future technologies. The probetrajectory data collected via the outdoor positioning system does notrequire information regarding the user's OD locations in order to beuseful to the OD-matrix platform 109.

Global position system (GPS) probe data, or probe trajectory, isgenerally regarded to lack the quality required to build a mall wideOD-Matrix because of the GPS reception is poor indoor. On the otherhand, indoor positioning sensors can trace a single probe device fromits actual origin point to its destination point with respect to theprobe/pedestrian ID.

In step 303, the OD-matrix platform 109 initiates an indoor positioningsystem to determine indoor location data associated for the at least oneprobe device while the at least one device is within the POI. TheOD-matrix platform 109 receives probe trajectory data, wherein the probetrajectory data is associated with at least one subset of a plurality ofsub-POIs. Probe trajectory data may encompass, for example, datacollected from wireless access points associated with pedestrians,phones or any associated location tracking technology. Probe trajectorydata may also encompass mined historical archive data collected overtime using various techniques including, but not limited to, WLANpositioning methods.

WLAN positioning methods, such as Received Signal Strength (RSS), Timeof Arrival (ToA), Time Difference of Arrival (TDoA), Angle of Arrival(AoA) methods, etc., provide various levels of accuracy. For example,RSS is approximately 3 to 30 meters, with an update rate in the range offew seconds. The system 100 applies different indoor positioningtechniques depending on a level of accuracy required by a depth ofsub-POIs (discussed later). In another embodiment, the OD-matrixplatform 109 initiates a signal round-trip-time based positioningsystem, such as WiFi RTT.

FIG. 6 shows a diagram of using WiFi RTT to determine a location of theprobe device and to capture pedestrian mobility indoor, according to oneembodiment. There should be at least two wireless access points requiredfor location estimation. The WiFi RTT technique measures the intensityof the signals received from a probe device 601 (e.g., UE 101) atwireless access points 603 a-603 d. The distance from each access pointis acquired by measuring the round trip time (RTT) from the probe device601 to the access point and back. This will provide distances D1-D4 fromthe wireless access points 603 a-603 d to the probe device 601, andangles of incidence can be calculated using an Angle of Arrival (AOA)technique. The Angle of arrival (AoA) technique determines the directionof propagation of a radio-frequency wave incident on each of thewireless access points. The system 100 performs the probe devicelocation estimation by using geometric relationships from theintersection of lines of bearing formed by a radial line to eachwireless access point.

In another embodiments, the indoor probe trajectory data is collectedfrom Bluetooth devices in addition to or in combination with wirelessaccess points.

In step 305, the OD-matrix platform 109 processes the indoor locationdata to generate an origin-destination (OD) matrix, wherein the ODmatrix represents an indoor movement of the at least one probe deviceamong a plurality of sub-POIs located within the POI indicated by theindoor location data. The OD matrix is based on a count of traversalbetween any two of the plurality of sub-POIs indicated in the indoorlocation data

For example, sub-POIs may encompass a store, a walkway intersection, arest area, or any other locations in the mall which a pedestrian maydecide to stop. In one embodiment, the OD-matrix platform 109 processesthe probe trajectory data to construct one or more origin-destinationmatrices, and at least one origin-destination matrix represents one ormore preferred travel paths through the subset of the plurality ofsub-POIs. In another embodiment, a plurality of sub-POIs may encompassadjacent sub-POIs, and the pedestrian may request for one or moresuccessive sub-POIs. From this information, the OD-matrix platform 109may begin to determine the probability of a user action at each sub-POIas well as the volume of traffic traversing the sub-POI and createsequential pedestrian movement flows and information.

In one embodiment, from the information collected from the probetrajectory, the OD-matrix platform 109 may determine the volume oftraffic traversing sub-POIs and deeper levels of sub-POIs. By way ofexample, the OD-matrix platform 109 may begin to analyze probetrajectory data of small sections within a store, such as different foodsections in a supermarket, different subject sections (e.g., travel,cooking, fiction, etc.) in a bookstore, etc. The OD-matrix platform 109may use the data from the sections to create an OD-matrix which reflectsthe probability at each sub-sub-POI and traffic density throughout thesection. By analogy, the OD-matrix platform 109 can iterativelygenerates smaller OD-matrix which reflect a smaller subsection of astore section (e.g., brand name yogurt vs house brand yogurt on theproduct shelf), as long as there are sensitive enough fixed sensors togenerate probe trajectory data that sufficiently distinguishes thepositions the pedestrian with respect to a deeper level of sub-POIs tocreate the smaller OD-matrix. Instead of the terms of POI, sub-POI,sub-sub-POI, etc., the OD-matrix platform 109 may refer them as parentPOI, child POI, grandchild POI, etc.

In one embodiment, the OD-matrix platform 109 determines sub-POIlocations, volumes, and a direction of a pedestrian movement flow usingindoor probe trajectories. FIGS. 7A-7C show how probe trajectories areused to build a OD-matrix of a pedestrian movement flow, according toone embodiment. In FIG. 7A, a map 700 shows a pedestrian movement flow701 has an origin 703 and a destination 705. In one embodiment, thesystem 100 applies Round Trip Time (RTT) on indoor probe trajectoriestransmitted from Wi-Fi access points and a local area network, andobtains sub-POI locations 707 a-707 d with an accuracy of 2 meters. Inone embodiment, a sub-POI is defined by a cluster based on pedestrianpresence locations 709. For examples, there are three pedestrianpresences at location 707 a, three pedestrian presences at location 707b, three pedestrian presences at location 707 c, and three pedestrianpresences at location 707 d. In another embodiment, a sub-POI is definedby a geofence. For example, the sub-POI 707 d (which is also destination705) is defined by a geofence 711. The cluster 707 d is smaller than thegeofence 711 of the corresponding sub-POI (e.g., a clothes store), thuscan be defined as a sub-sub-POI in the store, such as a newly featuredblue jeans section.

The OD-matrix platform 109 then applies one or more clusteringalgorithms on indoor probe trajectories to calculate a volume ofpedestrians at each sub-POI, an average time spending therein or anaverage speed passing via. Each pedestrian data point found is firstmap-matched to an indoor-POI using the indoor map. This then produceeither a cluster of pedestrian data points and/or a trajectory of datapoints

FIG. 7A shows pedestrian data points and a probe path/flow which capturepedestrian mobility within the indoor area as sub-sub-POI and/or sub-POIusing micro-ODs along the OD movement 721 (from 709 a to 709 d) in FIG.7B. A general representation in a diagram 720 labels micro-ODs 723, 725,727 in FIG. 7B, where a probe path/flow 721 is expected to have asequential number of links in between sub-POIs on the path.

FIG. 7C has this mobility stored as an adjacency matrix 740 of allsub-POIs 709 a-709 c and their corresponding pedestrian mobility counts(to and from one sub-POI to the other) at various times of the day/week,can provide a deep analytics insight to pedestrian mobility indoor. The4-sub-POIs by 4-sub-POIs matrix box shown in FIG. 7C can contain thecount of the total number of times that pedestrians took from therow-sub-POI (upstream) on a row side 741 of the matrix 740 to thecolumn-sub-POI (downstream) on a column side 743 of the matrix 740. Byway of example, the OD extends from 709 a to 709 d with a count of 60,the micro-OD 723 extends from 709 a to 709 c with a count of 45, themicro-OD 725 extends from 709 b to 709 c with a count of 7, and themicro-OD 727 extends from 709 c to 709 d with a count of 5 during theday.

In one embodiment, the OD-matrix platform 109 aggregates these sub-POImatrices into a mall wide OD-matrix.

In step 307, the OD-matrix platform 109 provides the OD matrix (e.g.,FIG. 7C) and/or mall wide OD-matrix as an output. In one embodiment, theOD-matrix platform 109 presents this probe trajectory data and/orOD-matrix including available OD data on a UE 101 and/or a third partyterminal. In another embodiment, the OD-matrix platform 109 presentspedestrian data points, one or more probe paths/flows on UE 100 and/orthe third party terminal, such as in FIG. 7A. Based on the OD-matrix,the third party terminal can select data (e.g., marketing materials,targeted advertisement, etc.) to transmit to the at least one probedevice, another device, or a combination thereof.

FIG. 8 is a diagram of a multiple-positioning system architecture ofproviding an origin-destination matrix using indoor probe location datacollected within a POI 801, according to one embodiment. In this case, apedestrian is coming from outdoor to indoor of POI 801.

In FIG. 8, the multiple-positioning system architecture 800 utilizes aGPS system for outdoor positioning, a WIFI-RTT system for indoorpositioning, an indoor map-matcher for generating sub-POI clusterswithin the POI using indoor probe trajectories based on indoorpedestrian movements. An hand-shake of two positioning systems (GPS andWIFI-RTT) is done when a pedestrian traverses from out-door to in-door,such that the mobility analytics can be captured continuously.

In one embodiment, the POI 801 is mapped first based on a map 803 usingGPS probe data 805. As the pedestrian moves inside the mall to aparticular sub-POI, the sub-POI is mapped to a mall floor plan based onWIFI-RTT probe data 807 via an indoor map matching process or an indoormap matcher 809, to provide a map 811 (e.g., FIG. 7A) that shows apedestrian movement flow with an origin and a destination. In addition,a pedestrian flow analytics engine 815 uses pedestrian probetrajectories to generate sub-POI cluster counts 813 at various times ofthe day/week/month/season/year, for building an OD matrix of allsub-POIs 817. The pedestrian flow analytics engine 815 further generatesOD interactions in between sub-POIs for various times of theday/week/month/season/year. These data sets can be published and/or soldas a content source to customers 819 or other end users. Themultiple-positioning system architecture can work on offline and/orreal-time data.

The multiple-positioning system architecture takes Pedestrian FlowAnalytics to a new level of granularity using multiple levels ofgranularity (POI, sub-POI, sub-sub-POI, etc.) with positioning systemsof different levels of accuracy. The GPS probe data and WIFI RTT probedata are used as examples for sensing outdoor versus indoor. Asmentioned, the same approach can be used for sections within a sub-POI,sub-sections within each section, etc.

In addition, analyzing pedestrian movement flows can help the mall ownerto attract new brands to open new stores and/or pop-up booths at thecluster locations (e.g., sub-POIs) where the pedestrians are mostlyactive, which in turn will help the new stores to attract new customers.Moreover, marketers can send targeted advertisements to specificdemographics travelled via the cluster locations.

The multiple-positioning system architecture 800 can generate realityindex for sub-POIs based on time spent at the sub-POIs by the number ofpedestrians. This will enable location-based product/service provisionas well location-based advertisement.

The processes described herein for providing an origin-destinationmatrix using indoor probe location data may be advantageouslyimplemented via software, hardware, firmware or a combination ofsoftware and/or firmware and/or hardware. For example, the processesdescribed herein, may be advantageously implemented via processor(s),Digital Signal Processing (DSP) chip, an Application Specific IntegratedCircuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc. Suchexemplary hardware for performing the described functions is detailedbelow.

Returning to FIG. 1, the communication network 105 of system 100 mayinclude one or more networks such as a data network, a wireless network,a telephony network, or any combination thereof. It is contemplated thatthe data network may be any local area network (LAN), metropolitan areanetwork (MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UNITS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

The UE 101 is any type of mobile terminal, fixed terminal, or portableterminal including a GPS unit, mobile handset, station, unit, device,multimedia computer, multimedia tablet, Internet node, communicator,desktop computer, laptop computer, notebook computer, netbook computer,tablet computer, personal communication system (PCS) device, personalnavigation device, personal digital assistants (PDAs), audio/videoplayer, digital camera/camcorder, positioning device, televisionreceiver, radio broadcast receiver, electronic book device, game device,or any combination thereof, including the accessories and peripherals ofthese devices, or any combination thereof. It is also contemplated thatthe UE 101 can support any type of interface to the user (such as“wearable” circuitry, etc.).

The user may use one or more applications 103 a-103 n (hereinafter,applications 103, e.g., thematic effect applications, a map application,a location services application, a content service application, etc.) onthe UEs 101. In this manner, the user may activate an application 103.The application 103 can utilize a sensor 107 a-107 n (hereinafter,sensors 107) to provide location and/or orientation of the UE 101. Incertain embodiments, one or more GPS satellites may be utilized indetermining the location of the UE 101. The UE 101 can determine alocation of the UE 101, an orientation of the UE 101, or a combinationthereof to present the content and/or add additional content.

By way of example, the sensors 107 a-107 n (hereinafter, sensors 107)may be any type of sensor. In certain embodiments, the sensors 107 areexternal to the UE 101 may include, for example, a camera/imaging sensorfor gathering image data, an audio recorder for gathering audio data, aglobal positioning sensor for gathering location data, a networkdetection sensor for detecting wireless signals or network data,temporal information and the like. In one scenario, the sensors areindoor wireless access points in a point of interest, such as a mall. Inother embodiments, the sensors 107 may be embedded in UE 101 and includelocation sensors (e.g., GPS), light sensors, oriental sensors augmentedwith height sensor and acceleration sensor, tilt sensors, moisturesensors, pressure sensors, audio sensors (e.g., microphone), orreceivers for different short-range communications (e.g., Bluetooth,WiFi, near field communication, etc.).

By way of example, the UE 101, OD-matrix platform 109, and servicesplatform 113 communicate with each other and other components of thecommunication network 105 using well known, new or still developingprotocols. In this context, a protocol includes a set of rules defininghow the network nodes within the communication network 105 interact witheach other based on information sent over the communication links. Theprotocols are effective at different layers of operation within eachnode, from generating and receiving physical signals of various types,to selecting a link for transferring those signals, to the format ofinformation indicated by those signals, to identifying which softwareapplication executing on a computer system sends or receives theinformation. The conceptually different layers of protocols forexchanging information over a network are described in the Open SystemsInterconnection (OSI) Reference Model.

Communications between the network nodes are typically effected byexchanging discrete packets of data. Each packet typically comprises (1)header information associated with a particular protocol, and (2)payload information that follows the header information and containsinformation that may be processed independently of that particularprotocol. In some protocols, the packet includes (3) trailer informationfollowing the payload and indicating the end of the payload information.The header includes information such as the source of the packet, itsdestination, the length of the payload, and other properties used by theprotocol. Often, the data in the payload for the particular protocolincludes a header and payload for a different protocol associated with adifferent, higher layer of the OSI Reference Model. The header for aparticular protocol typically indicates a type for the next protocolcontained in its payload. The higher layer protocol is said to beencapsulated in the lower layer protocol. The headers included in apacket traversing multiple heterogeneous networks, such as the Internet,typically include a physical (layer 1) header, a data-link (layer 2)header, an internetwork (layer 3) header and a transport (layer 4)header, and various application (layer 5, layer 6 and layer 7) headersas defined by the OSI Reference Model.

In one embodiment, the geographic database 111 (further described belowwith respect to FIG. 9) may store probability information for preferredtravel paths for specific sub-POIs from the sensors 107, OD-matrixplatform 109, services platform 113 and/or content provider 117, for theOD-matrix platform 109 to access at a later date. In one embodiment, thegeographic database 111 may store mapping data and/or probe trajectorydata, as associated with a subset of sub-POIs. In one embodiment, theprobe trajectory data may include satellite-based location probe data.In one embodiment, the probe trajectory data may be collected from thesensors 107, OD-matrix platform 109, services platform 113 and/orcontent provider 117. In one embodiment, the geographic database 111 maystore OD-matrices and its associated preferred travel paths through thesub-POIs. In one embodiment, the geographic database 111 may storeaggregated OD-matrices. In one embodiment, the OD-matrix platform 109may include and/or have access to the geographic database 111 to accessand/or store information associated with the aggregated OD-matrices,OD-matrices, probe trajectory data, mapping data, preferred route data,and probability information data and/or sub-POIs data.

The services platform 113 may include any type of service. By way ofexample, the services platform 113 may include mapping services,navigation services, travel planning services, social networkingservices, content (e.g., audio, video, images, etc.) provisioningservices, application services, storage services, contextual informationdetermination services, location based services, information (e.g.,weather, news, etc.) based services, etc. In one embodiment, theservices platform 113 may interact with the UE 101, the OD-matrixplatform 109 and the content provider 117 to supplement or aid in theprocessing of the content information.

By way of example, services 115 may be an location-based service thatreflects preferred routes of users at various sub-POIs. In one scenario,the services 115 provide representations of each sub-POI withprobability information data, associated probe trajectories, mappingdata, and a variety of additional information. The services 115 allowusers to access location information, activities information, contextualinformation, historical user information and interests within and/oroutside their travel trajectories, and provides for data portability.The services 115 may additionally assist in providing the OD-matrixplatform 109 with travel information of the sub-POIs.

The content provider 117 may provide content to the UE 101, theOD-matrix platform 109, and the services 115 of the services platform113. The content provided may be any type of content, such as textualcontent, audio content, video content, image content, etc. In oneembodiment, the content provider 117 may provide content that maysupplement content of the applications 103, the sensors 107, or acombination thereof. By way of example, the content provider 117 mayprovide content that may process content items of interest associatedwith sub-POIs, various routes, OD matrices, preferred route data,probability information data, and/or mapping data. In one embodiment,the content provider 117 may also store content items associated withthe UE 101, the OD-matrix platform 109, and the services 115 of theservices platform 113. In another embodiment, the content provider 117may manage access to a central repository of data, and offer aconsistent, standard interface to data, such as a repository of users'navigational data content.

FIG. 9 is a diagram of a geographic database 111, according to oneembodiment. In one embodiment, the geographic database 111 includesgeographic data 901 used for (or configured to be compiled to be usedfor) mapping and/or navigation-related services, such as for videoodometry based on the parametric representation of lanes include, e.g.,encoding and/or decoding parametric representations into lane lines. Inone embodiment, the geographic database 111 include high resolution orhigh definition (HD) mapping data that provide centimeter-level orbetter accuracy of map features. For example, the geographic database111 can be based on Light Detection and Ranging (LiDAR) or equivalenttechnology to collect billions of 3D points and model road surfaces andother map features down to the number lanes and their widths. In oneembodiment, the HD mapping data (e.g., HD data records 911) capture andstore details such as the slope and curvature of the road, lanemarkings, roadside objects such as signposts, including what the signagedenotes. By way of example, the HD mapping data enable highly automatedvehicles to precisely localize themselves on the road, and to determinemap data updates (e.g., learned speed limit values) to at high accuracylevels.

In one embodiment, geographic features (e.g., two-dimensional orthree-dimensional features) are represented using polygons (e.g.,two-dimensional features) or polygon extrusions (e.g., three-dimensionalfeatures). For example, the edges of the polygons correspond to theboundaries or edges of the respective geographic feature. In the case ofa building, a two-dimensional polygon can be used to represent afootprint of the building, and a three-dimensional polygon extrusion canbe used to represent the three-dimensional surfaces of the building. Itis contemplated that although various embodiments are discussed withrespect to two-dimensional polygons, it is contemplated that theembodiments are also applicable to three-dimensional polygon extrusions.Accordingly, the terms polygons and polygon extrusions as used hereincan be used interchangeably.

In one embodiment, the following terminology applies to therepresentation of geographic features in the geographic database 111.

“Node”—A point that terminates a link.

“Line segment”—A straight line connecting two points.

“Link” (or “edge”)—A contiguous, non-branching string of one or moreline segments terminating in a node at each end.

“Shape point”—A point along a link between two nodes (e.g., used toalter a shape of the link without defining new nodes).

“Oriented link”—A link that has a starting node (referred to as the“reference node”) and an ending node (referred to as the “non referencenode”).

“Simple polygon”—An interior area of an outer boundary formed by astring of oriented links that begins and ends in one node. In oneembodiment, a simple polygon does not cross itself.

“Polygon”—An area bounded by an outer boundary and none or at least oneinterior boundary (e.g., a hole or island). In one embodiment, a polygonis constructed from one outer simple polygon and none or at least oneinner simple polygon. A polygon is simple if it just consists of onesimple polygon, or complex if it has at least one inner simple polygon.

In one embodiment, the geographic database 111 follows certainconventions. For example, links do not cross themselves and do not crosseach other except at a node. Also, there are no duplicated shape points,nodes, or links. Two links that connect each other have a common node.In the geographic database 111, overlapping geographic features arerepresented by overlapping polygons. When polygons overlap, the boundaryof one polygon crosses the boundary of the other polygon. In thegeographic database 111, the location at which the boundary of onepolygon intersects they boundary of another polygon is represented by anode. In one embodiment, a node may be used to represent other locationsalong the boundary of a polygon than a location at which the boundary ofthe polygon intersects the boundary of another polygon. In oneembodiment, a shape point is not used to represent a point at which theboundary of a polygon intersects the boundary of another polygon.

In one embodiment, the geographic database 111 is stored as ahierarchical or multi-level tile-based projection or structure. Morespecifically, in one embodiment, the geographic database 111 may bedefined according to a normalized Mercator projection. Other projectionsmay be used. By way of example, the map tile grid of a Mercator orsimilar projection is a multilevel grid. Each cell or tile in a level ofthe map tile grid is divisible into the same number of tiles of thatsame level of grid. In other words, the initial level of the map tilegrid (e.g., a level at the lowest zoom level) is divisible into fourcells or rectangles. Each of those cells are in turn divisible into fourcells, and so on until the highest zoom or resolution level of theprojection is reached.

In one embodiment, the map tile grid may be numbered in a systematicfashion to define a tile identifier (tile ID). For example, the top lefttile may be numbered 00, the top right tile may be numbered 01, thebottom left tile may be numbered 10, and the bottom right tile may benumbered 11. In one embodiment, each cell is divided into fourrectangles and numbered by concatenating the parent tile ID and the newtile position. A variety of numbering schemes also is possible. Anynumber of levels with increasingly smaller geographic areas mayrepresent the map tile grid. Any level (n) of the map tile grid has2(n+1) cells. Accordingly, any tile of the level (n) has a geographicarea of A/2(n+1) where A is the total geographic area of the world orthe total area of the map tile grid 10. Because of the numbering system,the exact position of any tile in any level of the map tile grid orprojection may be uniquely determined from the tile ID.

In one embodiment, the system 100 may identify a tile by a quadkeydetermined based on the tile ID of a tile of the map tile grid. Thequadkey, for example, is a one-dimensional array including numericalvalues. In one embodiment, the quadkey may be calculated or determinedby interleaving the bits of the row and column coordinates of a tile inthe grid at a specific level. The interleaved bits may be converted to apredetermined base number (e.g., base 10, base 4, hexadecimal). In oneexample, leading zeroes are inserted or retained regardless of the levelof the map tile grid in order to maintain a constant length for theone-dimensional array of the quadkey. In another example, the length ofthe one-dimensional array of the quadkey may indicate the correspondinglevel within the map tile grid 10. In one embodiment, the quadkey is anexample of the hash or encoding scheme of the respective geographicalcoordinates of a geographical data point that can be used to identify atile in which the geographical data point is located.

As shown, the geographic database 111 includes node data records 903,road segment or link data records 905, POI data records 907,display/object data records 909, HD mapping data records 911, andindexes 913, for example. More, fewer or different data records can beprovided. In one embodiment, additional data records (not shown) caninclude cartographic (“carto”) data records, routing data, and maneuverdata. In one embodiment, the indexes 913 may improve the speed of dataretrieval operations in the geographic database 111. In one embodiment,the indexes 913 may be used to quickly locate data without having tosearch every row in the geographic database 111 every time it isaccessed. For example, in one embodiment, the indexes 913 can be aspatial index of the polygon points associated with stored featurepolygons.

In exemplary embodiments, the road segment data records 905 are links orsegments representing roads, streets, or paths, as can be used in thecalculated route or recorded route information for determination of oneor more personalized routes. The node data records 903 are end pointscorresponding to the respective links or segments of the road segmentdata records 905. The road link data records 905 and the node datarecords 903 represent a road network, such as used by vehicles, cars,and/or other entities. Alternatively, the geographic database 111 cancontain path segment and node data records or other data that representpedestrian paths or areas in addition to or instead of the vehicle roadrecord data, for example.

The road/link segments and nodes can be associated with attributes, suchas geographic coordinates, street names, address ranges, speed limits,turn restrictions at intersections, and other navigation relatedattributes, as well as POIs, such as gasoline stations, hotels,restaurants, museums, stadiums, offices, automobile dealerships, autorepair shops, buildings, stores, parks, etc. The geographic database 111can include data about the POIs and their respective locations in thePOI data records 907. The geographic database 111 can also include dataabout places, such as cities, towns, or other communities, and othergeographic features, such as bodies of water, mountain ranges, etc. Suchplace or feature data can be part of the POI data records 907 or can beassociated with POIs, sub-POIs, sub-sub-POIs, etc. or POI data records907 (such as a data point used for displaying or representing a positionof a store in a mall).

In one embodiment, the geographic database 111 can also includedisplay/object data records 909 for storing machine-readable visualrepresentations and map data decoded from the visual representations andtheir respective properties. In addition, the display/object datarecords 909 can store post-processing rule sets for correcting and/orreducing the uncertainties in the display/object data decoded fromclustered machine-readable visual representations. The display/objectdata records 909 can also store data selection rules (e.g., in a mapdata extension layer) for selecting from among multiple sets of readingsof a machine-readable visual representation. The display/object datarecords 909 can also store confidence or accuracy determinations for thedecoded map data. By way of example, the display/object data records 909can be associated with one or more of the node records 903, road segmentrecords 905, and/or POI data records 907 to support uses cases such asenhanced mapping UIs, autonomous driving, dynamic map updates, etc. Inone embodiment, the display/object data records 909 are stored as a datalayer of the hierarchical tile-based structure of the geographicdatabase 111 according to the various embodiments described herein. Inone embodiment, the geographic database 111 can provide thedisplay/object data records 909 to provide an origin-destination matrixusing indoor probe location data, thereby recording pedestrian movementflows.

In one embodiment, as discussed above, the HD mapping data records 911model road surfaces and other map features to centimeter-level or betteraccuracy. The HD mapping data records 911 also include lane models thatprovide the precise lane geometry with lane boundaries, as well as richattributes of the lane models. These rich attributes include, but arenot limited to, lane traversal information, lane types, lane markingtypes, lane level speed limit information, and/or the like. In oneembodiment, the HD mapping data records 911 are divided into spatialpartitions of varying sizes to provide HD mapping data to vehicles andother end user devices with near real-time speed without overloading theavailable resources of the vehicles and/or devices (e.g., computational,memory, bandwidth, etc. resources).

In one embodiment, the HD mapping data records 911 are created fromhigh-resolution 3D mesh or point-cloud data generated, for instance,from LiDAR-equipped vehicles. The 3D mesh or point-cloud data areprocessed to create 3D representations of a street or geographicenvironment at centimeter-level accuracy for storage in the HD mappingdata records 911.

In one embodiment, the HD mapping data records 911 also includereal-time sensor data collected from probe vehicles in the field. Thereal-time sensor data, for instance, integrates real-time trafficinformation, weather, and road conditions (e.g., potholes, roadfriction, road wear, etc.) with highly detailed 3D representations ofstreet and geographic features to provide precise real-time also atcentimeter-level accuracy. Other sensor data can include vehicletelemetry or operational data such as windshield wiper activation state,braking state, steering angle, accelerator position, and/or the like.

In one embodiment, the geographic database 111 can be maintained by thecontent provider 117 in association with the services platform 113(e.g., a map developer). The map developer can collect geographic datato generate and enhance the geographic database 111. There can bedifferent ways used by the map developer to collect data. These ways caninclude obtaining data from other sources, such as municipalities orrespective geographic authorities. In addition, the map developer canemploy field personnel to travel by a probe (e.g., UE 101 or a vehicle)along roads throughout the geographic region to observe features and/orrecord information about them, for example. Also, remote sensing, suchas aerial or satellite photography, can be used.

The geographic database 111 can be a master geographic database storedin a format that facilitates updating, maintenance, and development. Forexample, the master geographic database or data in the master geographicdatabase can be in an Oracle spatial format or other spatial format,such as for development or production purposes. The Oracle spatialformat or development/production database can be compiled into adelivery format, such as a geographic data files (GDF) format. The datain the production and/or delivery formats can be compiled or furthercompiled to form geographic database products or databases, which can beused in end user navigation devices or systems.

For example, geographic data is compiled (such as into a platformspecification format (PSF)) to organize and/or configure the data forperforming navigation-related functions and/or services, such as routecalculation, route guidance, map display, speed calculation, distanceand travel time functions, and other functions, by a navigation device,such as by a vehicle or UE 101. The navigation-related functions cancorrespond to vehicle navigation, pedestrian navigation, or other typesof navigation. The compilation to produce the end user databases can beperformed by a party or entity separate from the map developer. Forexample, a customer of the map developer, such as a navigation devicedeveloper or other end user device developer, can perform compilation ona received geographic database in a delivery format to produce one ormore compiled navigation databases.

The processes described herein for providing an origin-destinationmatrix using indoor probe location data using clustered machine-readablevisual representations may be advantageously implemented via software,hardware (e.g., general processor, Digital Signal Processing (DSP) chip,an Application Specific Integrated Circuit (ASIC), Field ProgrammableGate Arrays (FPGAs), etc.), firmware or a combination thereof. Suchexemplary hardware for performing the described functions is detailedbelow.

FIG. 10 illustrates a computer system 1000 upon which an embodiment maybe implemented. Although computer system 1000 is depicted with respectto a particular device or equipment, it is contemplated that otherdevices or equipment (e.g., network elements, servers, etc.) within FIG.10 can deploy the illustrated hardware and components of system 1000.Computer system 1000 is programmed (e.g., via computer program code orinstructions) to provide an origin-destination matrix using indoor probelocation data as described herein and includes a communication mechanismsuch as a bus 1010 for passing information between other internal andexternal components of the computer system 1000. Information (alsocalled data) is represented as a physical expression of a measurablephenomenon, typically electric voltages, but including, in otherembodiments, such phenomena as magnetic, electromagnetic, pressure,chemical, biological, molecular, atomic, sub-atomic and quantuminteractions. For example, north and south magnetic fields, or a zeroand non-zero electric voltage, represent two states (0, 1) of a binarydigit (bit). Other phenomena can represent digits of a higher base. Asuperposition of multiple simultaneous quantum states before measurementrepresents a quantum bit (qubit). A sequence of one or more digitsconstitutes digital data that is used to represent a number or code fora character. In some embodiments, information called analog data isrepresented by a near continuum of measurable values within a particularrange. Computer system 1000, or a portion thereof, constitutes a meansfor performing one or more steps of providing an origin-destinationmatrix using indoor probe location data.

A bus 1010 includes one or more parallel conductors of information sothat information is transferred quickly among devices coupled to the bus1010. One or more processors 1002 for processing information are coupledwith the bus 1010.

A processor (or multiple processors) 1002 performs a set of operationson information as specified by computer program code related toproviding an origin-destination matrix using indoor probe location data.The computer program code is a set of instructions or statementsproviding instructions for the operation of the processor and/or thecomputer system to perform specified functions. The code, for example,may be written in a computer programming language that is compiled intoa native instruction set of the processor. The code may also be writtendirectly using the native instruction set (e.g., machine language). Theset of operations include bringing information in from the bus 1010 andplacing information on the bus 1010. The set of operations alsotypically include comparing two or more units of information, shiftingpositions of units of information, and combining two or more units ofinformation, such as by addition or multiplication or logical operationslike OR, exclusive OR (XOR), and AND. Each operation of the set ofoperations that can be performed by the processor is represented to theprocessor by information called instructions, such as an operation codeof one or more digits. A sequence of operations to be executed by theprocessor 1002, such as a sequence of operation codes, constituteprocessor instructions, also called computer system instructions or,simply, computer instructions. Processors may be implemented asmechanical, electrical, magnetic, optical, chemical or quantumcomponents, among others, alone or in combination.

Computer system 1000 also includes a memory 1004 coupled to bus 1010.The memory 1004, such as a random access memory (RANI) or any otherdynamic storage device, stores information including processorinstructions for providing an origin-destination matrix using indoorprobe location data. Dynamic memory allows information stored therein tobe changed by the computer system 1000. RANI allows a unit ofinformation stored at a location called a memory address to be storedand retrieved independently of information at neighboring addresses. Thememory 1004 is also used by the processor 1002 to store temporary valuesduring execution of processor instructions. The computer system 1000also includes a read only memory (ROM) 1006 or any other static storagedevice coupled to the bus 1010 for storing static information, includinginstructions, that is not changed by the computer system 1000. Somememory is composed of volatile storage that loses the information storedthereon when power is lost. Also coupled to bus 1010 is a non-volatile(persistent) storage device 1008, such as a magnetic disk, optical diskor flash card, for storing information, including instructions, thatpersists even when the computer system 1000 is turned off or otherwiseloses power.

Information, including instructions for providing an origin-destinationmatrix using indoor probe location data, is provided to the bus 1010 foruse by the processor from an external input device 1012, such as akeyboard containing alphanumeric keys operated by a human user, or asensor. A sensor detects conditions in its vicinity and transforms thosedetections into physical expression compatible with the measurablephenomenon used to represent information in computer system 1000. Otherexternal devices coupled to bus 1010, used primarily for interactingwith humans, include a display device 1014, such as a cathode ray tube(CRT), a liquid crystal display (LCD), a light emitting diode (LED)display, an organic LED (OLED) display, a plasma screen, or a printerfor presenting text or images, and a pointing device 1016, such as amouse, a trackball, cursor direction keys, or a motion sensor, forcontrolling a position of a small cursor image presented on the display1014 and issuing commands associated with graphical elements presentedon the display 1014. In some embodiments, for example, in embodiments inwhich the computer system 1000 performs all functions automaticallywithout human input, one or more of external input device 1012, displaydevice 1014 and pointing device 1016 is omitted.

In the illustrated embodiment, special purpose hardware, such as anapplication specific integrated circuit (ASIC) 1020, is coupled to bus1010. The special purpose hardware is configured to perform operationsnot performed by processor 1002 quickly enough for special purposes.Examples of ASICs include graphics accelerator cards for generatingimages for display 1014, cryptographic boards for encrypting anddecrypting messages sent over a network, speech recognition, andinterfaces to special external devices, such as robotic arms and medicalscanning equipment that repeatedly perform some complex sequence ofoperations that are more efficiently implemented in hardware.

Computer system 1000 also includes one or more instances of acommunications interface 1070 coupled to bus 1010. Communicationinterface 1070 provides a one-way or two-way communication coupling to avariety of external devices that operate with their own processors, suchas printers, scanners and external disks. In general the coupling iswith a network link 1078 that is connected to a local network 1080 towhich a variety of external devices with their own processors areconnected. For example, communication interface 1070 may be a parallelport or a serial port or a universal serial bus (USB) port on a personalcomputer. In some embodiments, communications interface 1070 is anintegrated services digital network (ISDN) card or a digital subscriberline (DSL) card or a telephone modem that provides an informationcommunication connection to a corresponding type of telephone line. Insome embodiments, a communication interface 1070 is a cable modem thatconverts signals on bus 1010 into signals for a communication connectionover a coaxial cable or into optical signals for a communicationconnection over a fiber optic cable. As another example, communicationsinterface 1070 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN, such as Ethernet. Wirelesslinks may also be implemented. For wireless links, the communicationsinterface 1070 sends or receives or both sends and receives electrical,acoustic or electromagnetic signals, including infrared and opticalsignals, that carry information streams, such as digital data. Forexample, in wireless devices, such as mobile computers like vehicleinfotainment system, the communications interface 1070 includes a radioband electromagnetic transmitter and receiver called a radiotransceiver. In certain embodiments, the communications interface 1070enables connection to the communication network 105 for providing anorigin-destination matrix using indoor probe location data to the UE101.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing information to processor 1002, includinginstructions for execution. Such a medium may take many forms,including, but not limited to computer-readable storage medium (e.g.,non-volatile media, volatile media), and transmission media.Non-transitory media, such as non-volatile media, include, for example,optical or magnetic disks, such as storage device 1008. Volatile mediainclude, for example, dynamic memory 1004. Transmission media include,for example, twisted pair cables, coaxial cables, copper wire, fiberoptic cables, and carrier waves that travel through space without wiresor cables, such as acoustic waves and electromagnetic waves, includingradio, optical and infrared waves. Signals include man-made transientvariations in amplitude, frequency, phase, polarization or otherphysical properties transmitted through the transmission media. Commonforms of computer-readable media include, for example, a floppy disk, aflexible disk, hard disk, magnetic tape, any other magnetic medium, aCD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape,optical mark sheets, any other physical medium with patterns of holes orother optically recognizable indicia, a RAM, a PROM, an EPROM, aFLASH-EPROM, an EEPROM, a flash memory, any other memory chip orcartridge, a carrier wave, or any other medium from which a computer canread. The term computer-readable storage medium is used herein to referto any computer-readable medium except transmission media.

Logic encoded in one or more tangible media includes one or both ofprocessor instructions on a computer-readable storage media and specialpurpose hardware, such as ASIC 1020.

Network link 1078 typically provides information communication usingtransmission media through one or more networks to other devices thatuse or process the information. For example, network link 1078 mayprovide a connection through local network 1080 to a host computer 1082or to equipment 1084 operated by an Internet Service Provider (ISP). ISPequipment 1084 in turn provides data communication services through thepublic, world-wide packet-switching communication network of networksnow commonly referred to as the Internet 1090.

A computer called a server host 1092 connected to the Internet hosts aprocess that provides a service in response to information received overthe Internet. For example, server host 1092 hosts a process thatprovides information representing video data for presentation at display1014. It is contemplated that the components of system 1000 can bedeployed in various configurations within other computer systems, e.g.,host 1082 and server 1092.

At least some embodiments are related to the use of computer system 1000for implementing some or all of the techniques described herein.According to one embodiment, those techniques are performed by computersystem 1000 in response to processor 1002 executing one or moresequences of one or more processor instructions contained in memory1004. Such instructions, also called computer instructions, software andprogram code, may be read into memory 1004 from anothercomputer-readable medium such as storage device 1008 or network link1078. Execution of the sequences of instructions contained in memory1004 causes processor 1002 to perform one or more of the method stepsdescribed herein. In alternative embodiments, hardware, such as ASIC1020, may be used in place of or in combination with software toimplement the various embodiments. Thus, embodiments are not limited toany specific combination of hardware and software, unless otherwiseexplicitly stated herein.

The signals transmitted over network link 1078 and other networksthrough communications interface 1070, carry information to and fromcomputer system 1000. Computer system 1000 can send and receiveinformation, including program code, through the networks 1080, 1090among others, through network link 1078 and communications interface1070. In an example using the Internet 1090, a server host 1092transmits program code for a particular application, requested by amessage sent from computer 1000, through Internet 1090, ISP equipment1084, local network 1080 and communications interface 1070. The receivedcode may be executed by processor 1002 as it is received, or may bestored in memory 1004 or in storage device 1008 or any othernon-volatile storage for later execution, or both. In this manner,computer system 1000 may obtain application program code in the form ofsignals on a carrier wave.

Various forms of computer readable media may be involved in carrying oneor more sequence of instructions or data or both to processor 1002 forexecution. For example, instructions and data may initially be carriedon a magnetic disk of a remote computer such as host 1082. The remotecomputer loads the instructions and data into its dynamic memory andsends the instructions and data over a telephone line using a modem. Amodem local to the computer system 1000 receives the instructions anddata on a telephone line and uses an infra-red transmitter to convertthe instructions and data to a signal on an infra-red carrier waveserving as the network link 1078. An infrared detector serving ascommunications interface 1070 receives the instructions and data carriedin the infrared signal and places information representing theinstructions and data onto bus 1010. Bus 1010 carries the information tomemory 1004 from which processor 1002 retrieves and executes theinstructions using some of the data sent with the instructions. Theinstructions and data received in memory 1004 may optionally be storedon storage device 1008, either before or after execution by theprocessor 1002.

FIG. 11 illustrates a chip set or chip 1100 upon which an embodiment maybe implemented. Chip set 1100 is programmed to provide anorigin-destination matrix using indoor probe location data as describedherein and includes, for instance, the processor and memory componentsdescribed with respect to FIG. 10 incorporated in one or more physicalpackages (e.g., chips). By way of example, a physical package includesan arrangement of one or more materials, components, and/or wires on astructural assembly (e.g., a baseboard) to provide one or morecharacteristics such as physical strength, conservation of size, and/orlimitation of electrical interaction. It is contemplated that in certainembodiments the chip set 1100 can be implemented in a single chip. It isfurther contemplated that in certain embodiments the chip set or chip1100 can be implemented as a single “system on a chip.” It is furthercontemplated that in certain embodiments a separate ASIC would not beused, for example, and that all relevant functions as disclosed hereinwould be performed by a processor or processors. Chip set or chip 1100,or a portion thereof, constitutes a means for performing one or moresteps of providing user interface navigation information associated withthe availability of functions. Chip set or chip 1100, or a portionthereof, constitutes a means for performing one or more steps ofproviding an origin-destination matrix using indoor probe location data.

In one embodiment, the chip set or chip 1100 includes a communicationmechanism such as a bus 1101 for passing information among thecomponents of the chip set 1100. A processor 1103 has connectivity tothe bus 1101 to execute instructions and process information stored in,for example, a memory 1105. The processor 1103 may include one or moreprocessing cores with each core configured to perform independently. Amulti-core processor enables multiprocessing within a single physicalpackage. Examples of a multi-core processor include two, four, eight, orgreater numbers of processing cores. Alternatively or in addition, theprocessor 1103 may include one or more microprocessors configured intandem via the bus 1101 to enable independent execution of instructions,pipelining, and multithreading. The processor 1103 may also beaccompanied with one or more specialized components to perform certainprocessing functions and tasks such as one or more digital signalprocessors (DSP) 1107, or one or more application-specific integratedcircuits (ASIC) 1109. A DSP 1107 typically is configured to processreal-world signals (e.g., sound) in real time independently of theprocessor 1103. Similarly, an ASIC 1109 can be configured to performedspecialized functions not easily performed by a more general purposeprocessor. Other specialized components to aid in performing theinventive functions described herein may include one or more fieldprogrammable gate arrays (FPGA) (not shown), one or more controllers(not shown), or one or more other special-purpose computer chips.

In one embodiment, the chip set or chip 1100 includes merely one or moreprocessors and some software and/or firmware supporting and/or relatingto and/or for the one or more processors.

The processor 1103 and accompanying components have connectivity to thememory 1105 via the bus 1101. The memory 1105 includes both dynamicmemory (e.g., RAM, magnetic disk, writable optical disk, etc.) andstatic memory (e.g., ROM, CD-ROM, etc.) for storing executableinstructions that when executed perform the inventive steps describedherein to provide an origin-destination matrix using indoor probelocation data. The memory 1105 also stores the data associated with orgenerated by the execution of the inventive steps.

FIG. 12 is a diagram of exemplary components of a mobile terminal 1201(e.g., mobile computers such as vehicle infotainment system, vehicleembedded system, smartphones, etc.) for communications, which is capableof operating in the system of FIG. 1, according to one embodiment. Insome embodiments, mobile terminal 1201, or a portion thereof,constitutes a means for performing one or more steps of providing anorigin-destination matrix using indoor probe location data. Generally, aradio receiver is often defined in terms of front-end and back-endcharacteristics. The front-end of the receiver encompasses all of theRadio Frequency (RF) circuitry whereas the back-end encompasses all ofthe base-band processing circuitry. As used in this application, theterm “circuitry” refers to both: (1) hardware-only implementations (suchas implementations in only analog and/or digital circuitry), and (2) tocombinations of circuitry and software (and/or firmware) (such as, ifapplicable to the particular context, to a combination of processor(s),including digital signal processor(s), software, and memory(ies) thatwork together to cause an apparatus, such as a mobile computer orserver, to perform various functions). This definition of “circuitry”applies to all uses of this term in this application, including in anyclaims. As a further example, as used in this application and ifapplicable to the particular context, the term “circuitry” would alsocover an implementation of merely a processor (or multiple processors)and its (or their) accompanying software/or firmware. The term“circuitry” would also cover if applicable to the particular context,for example, a baseband integrated circuit or applications processorintegrated circuit in a mobile computer or a similar integrated circuitin network device (e.g., a cellular network device or data other networkdevices).

Pertinent internal components of the mobile terminal include a MainControl Unit (MCU) 1203, a Digital Signal Processor (DSP) 1205, and areceiver/transmitter unit. In one embodiment, wherein voice-basedinteraction and/or communications are supported at the mobile terminal,the mobile terminal may also include a microphone gain control unit anda speaker gain control unit. A main display unit 1207 provides a displayto the user in support of various applications and mobile terminalfunctions that perform or support the steps of providing anorigin-destination matrix using indoor probe location data. The display1207 includes display circuitry configured to display at least a portionof a user interface of the mobile terminal (e.g., mobile telephone).Additionally, the display 1207 and display circuitry are configured tofacilitate user control of at least some functions of the mobileterminal. In embodiments supporting voice-based interactions and/orcommunications, an audio function circuitry 1209 includes a microphone1211 and microphone amplifier that amplifies the speech signal outputfrom the microphone 1211. The amplified speech signal output from themicrophone 1211 is fed to a coder/decoder (CODEC) 1213.

A radio section 1215 amplifies power and converts frequency in order tocommunicate with a base station (e.g., data and/or voicecommunications), which is included in a mobile communication system, viaantenna 1217. The power amplifier (PA) 1219 and thetransmitter/modulation circuitry are operationally responsive to the MCU1203, with an output from the PA 1219 coupled to the duplexer 1221 orcirculator or antenna switch, as known in the art. The PA 1219 alsocouples to a battery interface and power control unit 1220.

In use, data to support providing an origin-destination matrix usingindoor probe location data is formatted into network packets (e.g.,Internet Protocol (IP) packets) for transmission using one or morenetwork transmission protocol (e.g., a cellular network transmissionprotocol described in more detail below). In one embodiment, the networkpackets include control information and payload data, with the controlinformation specifying originating/destination network addresses, errorcontrol signals, signals for reconstructing the user data from thepackets, and/or other related information. In embodiments supportingvoice-based interaction and/or communications, a user of mobile terminal1201 speaks into the microphone 1211 and his or her voice along with anydetected background noise is converted into an analog voltage. Theanalog voltage is then converted into a digital signal through theAnalog to Digital Converter (ADC) 1223. The control unit 1203 routes thedigital signal into the DSP 1205 for processing therein, such as speechrecognition, speech encoding, channel encoding, encrypting, andinterleaving.

In one embodiment, the processed network packets and/or voice signalsare encoded, by units not separately shown, using a cellulartransmission protocol such as enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UNITS), etc., as well as anyother suitable wireless medium, e.g., microwave access (WiMAX), LongTerm Evolution (LTE) networks, code division multiple access (CDMA),wideband code division multiple access (WCDMA), wireless fidelity(WiFi), satellite, and the like, or any combination thereof.

The encoded signals are then routed to an equalizer 1225 forcompensation of any frequency-dependent impairments that occur duringtransmission through the air such as phase and amplitude distortion.After equalizing the bit stream, the modulator 1227 combines the signalwith a RF signal generated in the RF interface 1229. The modulator 1227generates a sine wave by way of frequency or phase modulation. In orderto prepare the signal for transmission, an up-converter 1231 combinesthe sine wave output from the modulator 1227 with another sine wavegenerated by a synthesizer 1233 to achieve the desired frequency oftransmission. The signal is then sent through a PA 1219 to increase thesignal to an appropriate power level. In practical systems, the PA 1219acts as a variable gain amplifier whose gain is controlled by the DSP1205 from information received from a network base station. The signalis then filtered within the duplexer 1221 and optionally sent to anantenna coupler 1235 to match impedances to provide maximum powertransfer. Finally, the signal is transmitted via antenna 1217 to a localbase station. An automatic gain control (AGC) can be supplied to controlthe gain of the final stages of the receiver. The local base station orsimilar component then forwards data or network packets to a gatewayserver (e.g., a gateway to the Internet) for connectivity to networkcomponents used for providing an origin-destination matrix using indoorprobe location data. In embodiments supporting voice-based interactionsand/or communications, voice signals may be forwarded from the localbase station to a remote terminal which may be another mobile computer,cellular telephone, and/or any other mobile phone or a land-lineconnected to a Public Switched Telephone Network (PSTN), or othertelephony networks.

Voice signals transmitted to the mobile terminal 1201 are received viaantenna 1217 and immediately amplified by a low noise amplifier (LNA)1237. A down-converter 1239 lowers the carrier frequency while thedemodulator 1241 strips away the RF leaving only a digital bit stream.The signal then goes through the equalizer 1225 and is processed by theDSP 1205. A Digital to Analog Converter (DAC) 1243 converts the signaland the resulting output is transmitted to the user through the speaker1245, all under control of a Main Control Unit (MCU) 1203 which can beimplemented as a Central Processing Unit (CPU) (not shown).

The MCU 1203 receives various signals including input signals from thekeyboard 1247. The keyboard 1247 and/or the MCU 1203 in combination withother user input components (e.g., the microphone 1211) comprise a userinterface circuitry for managing user input. The MCU 1203 runs a userinterface software to facilitate user control of at least some functionsof the mobile terminal 1201 to provide an origin-destination matrixusing indoor probe location data. The MCU 1203 also delivers a displaycommand and a switch command to the display 1207 and to the speechoutput switching controller, respectively. Further, the MCU 1203exchanges information with the DSP 1205 and can access an optionallyincorporated SIM card 1249 and a memory 1251. In addition, the MCU 1203executes various control functions required of the terminal. The DSP1205 may, depending upon the implementation, perform any of a variety ofconventional digital processing functions on the voice signals.Additionally, DSP 1205 determines the background noise level of thelocal environment from the signals detected by microphone 1211 and setsthe gain of microphone 1211 to a level selected to compensate for thenatural tendency of the user of the mobile terminal 1201.

The CODEC 1213 includes the ADC 1223 and DAC 1243. The memory 1251stores various data including call incoming tone data and is capable ofstoring other data including music data received via, e.g., the globalInternet. The software module could reside in RAM memory, flash memory,registers, or any other form of writable storage medium known in theart. The memory device 1251 may be, but not limited to, a single memory,CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flashmemory storage, or any other non-volatile storage medium capable ofstoring digital data.

An optionally incorporated SIM card 1249 carries, for instance,important information, such as the cellular phone number, the carriersupplying service, subscription details (e.g., data and/or voicesubscriptions), and security information. The SIM card 1249 servesprimarily to identify the mobile terminal 1201 on a radio network. Thecard 1249 also contains a memory for storing a personal telephone numberregistry, text messages, and user specific mobile terminal settings.

While the invention has been described in connection with a number ofembodiments and implementations, the invention is not so limited butcovers various obvious modifications and equivalent arrangements, whichfall within the purview of the appended claims. Although features of theinvention are expressed in certain combinations among the claims, it iscontemplated that these features can be arranged in any combination andorder.

What is claimed is:
 1. A method comprising: determining location dataassociated with at least one probe device when the at least one devicetraverses from outside a point-of-interest (POI) to inside the POI;determining one or more clusters of trajectories of the at least oneprobe device based on the location data, the trajectories extending fromareas outside the POI to at least one of a plurality of sub-POIs locatedwithin the POI; processing the one or more clusters, the one or moretrajectories, or a combination thereof to generate an origin-destination(OD) matrix, wherein the OD matrix represents an indoor movement of theat least one probe device among the plurality of sub-POIs; and providingthe OD matrix as an output.
 2. The method of claim 1, furthercomprising: processing the one or more clusters to determine one or moremobility patterns of the at least one probe device, wherein the one ormore mobility patterns are with respect to the at least one of thesub-POIs.
 3. The method of claim 2, further comprising: predicting whichone of the sub-POIs that the at least one probe device is likely tovisit based, at least in part, on one of the areas outside the POI thatthe user travels from and the one or more mobility patterns.
 4. Themethod of claim 3, further comprising: selecting data to transmit to theat least one probe device, another device, or a combination thereofbased on the OD matrix, the predicted sub-POIs, or a combinationthereof.
 5. The method of claim 1, further comprising: providing ahandshake between outdoor positioning technology that determines aportion of the location data outside the POI and indoor positioningtechnology that determines another portion of the location data insidethe POI.
 6. The method of claim 5, further comprising: map-matching theother portion of the location data inside the POI to indoor map data todetermine the indoor movement of the at least one probe device.
 7. Themethod of claim 5, wherein the indoor positioning system includes asignal round-trip-time based positioning system.
 8. The method of claim1, further comprising: generating an index of the plurality of sub-POIsbased on the OD matrix, wherein the index is based on a time spent ateach sub-POI of the plurality of sub-POIs as indicated by the OD matrix.9. The method of claim 1, wherein the OD matrix is generated withrespect to at least one contextual parameter, and wherein the at leastone contextual parameter includes at least in part a temporal parameter.10. The method of claim 1, further comprising: processing the OD matrixto rank the plurality of sub-POIs based on popularity.
 11. An apparatuscomprising: a processor; and a memory including computer program codefor a program, the memory and the computer program code configured to,with the processor, cause the apparatus to perform at least thefollowing, determine location data associated with at least one probedevice when the at least one device traverses from outside apoint-of-interest (POI) to inside the POI; determine one or moreclusters of trajectories of the at least one probe device based on thelocation data, the trajectories extending from areas outside the POI toat least one of a plurality of sub-POIs located within the POI; processthe one or more clusters, the one or more trajectories, or a combinationthereof to generate an origin-destination (OD) matrix, wherein the ODmatrix represents an indoor movement of the at least one probe deviceamong the plurality of sub-POIs; and provide the OD matrix as an output.12. The apparatus of claim 11, wherein the apparatus is further causedto: process the one or more clusters to determine one or more mobilitypatterns of the at least one probe device, wherein the one or moremobility patterns are with respect to the at least one of the sub-POIs.13. The apparatus of claim 12, wherein the apparatus is further causedto: predict which one of the sub-POIs that the at least one probe deviceis likely to visit based, at least in part, on one of the areas outsidethe POI that the user travels from and the one or more mobilitypatterns.
 14. The apparatus of claim 13, wherein the apparatus isfurther caused to: select data to transmit to the at least one probedevice, another device, or a combination thereof based on the OD matrix,the predicted sub-POIs, or a combination thereof.
 15. The apparatus ofclaim 11, wherein the apparatus is further caused to: provide ahandshake between outdoor positioning technology that determines aportion of the location data outside the POI and indoor positioningtechnology that determines another portion of the location data insidethe POI.
 16. A non-transitory computer-readable storage medium carryingone or more sequences of one or more instructions which, when executedby one or more processors, cause an apparatus to at least perform thefollowing steps: determining location data associated with at least oneprobe device when the at least one device traverses from outside apoint-of-interest (POI) to inside the POI; determining one or moreclusters of trajectories of the at least one probe device based on thelocation data, the trajectories extending from areas outside the POI toat least one of a plurality of sub-POIs located within the POI;processing the one or more clusters, the one or more trajectories, or acombination thereof to generate an origin-destination (OD) matrix,wherein the OD matrix represents an indoor movement of the at least oneprobe device among the plurality of sub-POIs; and providing the ODmatrix as an output.
 17. The non-transitory computer-readable storagemedium of claim 16, wherein the apparatus is caused to further perform:processing the one or more clusters to determine one or more mobilitypatterns of the at least one probe device, wherein the one or moremobility patterns are with respect to the at least one of the sub-POIs.18. The non-transitory computer-readable storage medium of claim 17,wherein the apparatus is caused to further perform: predicting which oneof the sub-POIs that the at least one probe device is likely to visitbased, at least in part, on one of the areas outside the POI that theuser travels from and the one or more mobility patterns.
 19. Thenon-transitory computer-readable storage medium of claim 18, wherein theapparatus is caused to further perform: selecting data to transmit tothe at least one probe device, another device, or a combination thereofbased on the OD matrix, the predicted sub-POIs, or a combinationthereof.
 20. The non-transitory computer-readable storage medium ofclaim 16, wherein the apparatus is caused to further perform: providinga handshake between outdoor positioning technology that determines aportion of the location data outside the POI and indoor positioningtechnology that determines another portion of the location data insidethe POI.